Electronic devices are ubiquitous in society and can be found in everything from wristwatches to computers. The complexity and sophistication of electronic devices usually increases with each generation. This trend may be especially true with each generation of microprocessors. For example, newer processors often implement multiple blocks, sometimes referred to as “cores”, where each core may be capable of concurrently executing at least some of the program code. By having multiple cores concurrently executing program code, the overall execution speed of programs on a computer that utilizes a multi-core processor may be greater than the single core processor based computer.
In practice, multi-core processors may be implemented on a single integrated circuit (IC). While implementing the multiple cores on a single IC may be advantageous in that the processor may be capable of increased processing power, it may present new challenges in terms of ensuring that the IC is functional. ICs are generally tested in a variety of ways prior to their deployment in an electronic device. Traditional methods of testing single core processors include providing testing signal patterns to the pins of the IC and observing the results on different pins of the IC. Unfortunately, as the number of cores on a processor increases, there may not be enough pins to dedicate to each core for testing purposes. Accordingly, there is a need for providing methods and apparatuses for testing multi-core processors that overcome one or more of the aforementioned problems.